package tech.mhuang.pacebox.springboot.autoconfiguration.trace;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import tech.mhuang.pacebox.springboot.autoconfiguration.ConfigConsts;
import tech.mhuang.pacebox.springboot.autoconfiguration.trace.mybatis.TraceMybatisConfiguration;
import tech.mhuang.pacebox.springboot.autoconfiguration.trace.okhttp.TraceOkHttpConfiguration;
import tech.mhuang.pacebox.springboot.autoconfiguration.trace.rest.TraceRestTemplateConfiguration;
import tech.mhuang.pacebox.springboot.autoconfiguration.trace.sms.TraceSmsConfiguration;

/**
 * 自动Trace注入
 *
 * @author mhuang
 * @since 1.0.0
 */
@Configuration
@Import({TraceMybatisConfiguration.class, TraceRestTemplateConfiguration.class,  TraceSmsConfiguration.class, TraceOkHttpConfiguration.class})
@EnableConfigurationProperties(value = TraceProperties.class)
@ConditionalOnProperty(prefix = ConfigConsts.TRACE, name = ConfigConsts.ENABLE, havingValue = ConfigConsts.TRUE)
public class TraceAutoConfiguration {

}
